537aca057eb17ce59052ca35c63438d8d9ee29a1,spark/src/main/java/edu/berkeley/cs/succinct/streams/SuccinctFileStream.java,SuccinctFileStream,bwdSearch,#number[]#,136

Before Change


    int m = buf.length;
    long c1, c2;

    if (alphabetMap.containsKey(buf[m - 1])) {
      range.first = alphabetMap.get(buf[m - 1]).first;
      byte nextByte = alphabetMap.get(buf[m - 1]).second + 1 == getAlphabetSize() ?
        SuccinctCore.EOA :
        alphabet[alphabetMap.get(buf[m - 1]).second + 1];
      range.second = alphabetMap.get(nextByte).first - 1;
    } else {
      return new Range(0L, -1L);
    }

After Change


      int m = buf.length;
      long c1, c2;

      int pos = findCharacter(buf[m - 1]);
      if (pos >= 0) {
        range.first = columnoffsets.get(pos);
        range.second =
          ((pos + 1) == getAlphabetSize() ? getOriginalSize() : columnoffsets.get(pos + 1)) - 1;
      } else {
        return new Range(0L, -1L);
      }